forked from HarbourMasters/Shipwright
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite MQ DC Logic #39
Open
Pepper0ni
wants to merge
48
commits into
aMannus:mq-logic-area-refactor
Choose a base branch
from
Pepper0ni:MQLogic
base: mq-logic-area-refactor
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* bump lus * remove undeclared methods
* Add git info to title screen & gameplay stats * Change the branch criteria to starting with `develop` * Update z_title.c * Change the branch criteria to not having a tag * Always show both when not a release build * Only show build version in tagged releases
* Changed references for VS build tools 142 to 143 to reflect current state of development. * Remove VS 2019.
* Converted all GuiWindows to the new separate Begin/End format in current LUS except InputViewer, CheckTracker, ItemTracker and Modals. * Setup Check, Entrance, Item trackers and Input Viewer to override `Draw()` to bypass the ImGui Begin and End, as they're not intended to go in the modern menu. * Cleanup.
* early eyeball is real :D * make cvar * update cvars * fix additional cvar check bug
* Removed all CVarLoad uses from code to prevent thread concurrency issues. * Add mutext locks to save and load functions to prevent concurrent operations between those two.
…o-sep14 Merge develop -> develop-rando
…urMasters#4342) * Restore Deku Tree open as adult with dungeon shuffle. * Add Mido spawn VB to allow for preventing Mido moving in rando when starting with Zelda's letter and closed deku or forest. * Use RAND_GET_OPTION instead of OTRGlobals rando context, get rid of IS_RANDO in deku mouth VB handler.
* saving for branch change * V0 doesn't work * crashing in random places halp * push to rebase * commit for branch change * more branch switching * First apparent working * fix entrence validation * comment cleanups * post merge fixes * Fix entrences not validating when spawns/owl drops are on but other entrences are not * remove bombchusFound from the struct too * Fix issue causing improper bombchu filtering on the playthrough * text fixes * submodules pls * submodules pls pt 2
* Add ice trap message suggestions * Split messages by language * Re-run build * Apply Pepper0ni's patch with fixes
* Update check status in the check tracker to the new system. Status and Skipped are now stored in ItemLocation, though still saved separately in the trackerData section. * Fix shop checks not showing prices when identified. * Patch fix for check status bleed. Some cleanup of unused code. * Small tracker optimizations. * Fix check hiding. * Bit more cleanup. * Unhide the filter and make it work again... * Fix area totals tracking. Fix skipped status saving. * Merge conflict cleanup.
* Fix for LACS awarding everywhere * Update soh/soh/Enhancements/randomizer/hook_handlers.cpp Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com> --------- Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
…#4353) * messy first implementation, pushing for verification * push to test other platforms, add benchmark preset * more other compiler fixes * Finish implementing benchmarks * forgot to reset the timers each run * do it better * move timers to thier own file * forgot to add files
* Move all `SaveContext` operations to `Logic` to prepare for encapsulation. * Rename `Area` to `Region`, `areaTable` to `regionTable`, and all local variables named variants of area to region that were of the `RandomizerRegion` or `Region` types. * Fix mistaken renames. * Rename PT_AREA_RESET to PT_REGION_RESET after rebasing on performance timer commit. Change include path for the timer to absolute rather than relative.
100 GS Reward was missing from RSK_GANONS_BOSS_KEY causing indexing issues. Notably, Triforce Hunt was setting Ganon's Boss Key to "Vanilla" rather than "Triforce Hunt."
* Initial implementation * Add call number & relax source_location requirement * Update hookDebugger.cpp
* Change tristate off graphic to none instead of X to avoid confusion. Modify Combobox and Slider Options to clamp directly to options.size() - 1 instead of just decrementing if current value is higher than max. * Restore RenderCross line, but commented out.
* Remove categories * Remove SpoilerCollectionCheckGroup * Remove unused Location constructors * Remove LocationType * Remove unused SpoilerCollectionCheckTypes * Remove hints' isVanillaCompletion, it's always false * Remove SpoilerCollectionCheck::None Same effect as default constructor * Fix mistake * Update location.h * Deduce RC Area by scene when possible * Remove useless constructors * Remove flag in most situations * Format improvements * Replace overworldLocations with a function * Replace shopLocationLists with a function * Replace gossipStoneLocations with a function Also add a new RCType for static hints * Replace scrubLocations with a function * Replace staticHintLocations with a function * Replace overworldFishLocations with a function * Replace pondFishLocations with a function * Remove RC_TRIFORCE_COMPLETED from GetOverworldLocations * Update fill.cpp Re-add filter for dungeonLocations for song shuffle dungeon rewards (and fix erroneous check for song locations there). Modify songLocations filter for dungeon rewards to check for RCTYPE_BOSS_HEART_OR_OTHER_REWARD and then the two song locations added for it. * Update fill.cpp Fix bracketing. * Apply Pepper0ni's patch --------- Co-authored-by: Malkierian <malkierian@live.com>
* Move Fishsanity hooks out of mods.cpp * Assign fish check flags. * Clean up location_list for fish * Prevent fishing from giving double items. * Remove no-longer-used mPendingFish * Override draw function for fishing This allows the draw functions in the source overlay to match the decomp. * Override draw function for EnFish * Overwrite grotto fish params based on respawn data This allows the randomizer to identify them automatically without any special logic. The catch (pun not intended) is that grotto fish don't respawn, and they were previously identified for such by a params value of 1, so the logic to take care of that needed to be duplicated. Thankfully it wasn't very much. * Add a VB for catching actors in bottles. * Clean up remaining code after conversion to VB This breaks fast FastDrops for bottle pickups, though readding it shouldn't be too hard with the VB hook. * Remove fishsanityParams from Fishing It was previously used to track exactly which fish would be released after a catch, but since both candidate fish would've been caught, they both wouldn't give checks anyways. * Update soh/soh/Enhancements/randomizer/hook_handlers.cpp Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com> * Re-add FastDrops for bottle pickups. While this does diverge from the vanilla decomp, I'm uncertain of the order that hooks are run, so I put it back into z_player.c just to be safe. A future commit can do a more proper implementation using VB hooks. * Move initialisation of fishsanity hooks into hook_handlers * Change location constructor to take RandomizerInf instead of uint8_t This shouldn't have an effect as-is, but other changes can add additional randomizer flags that can end up pushing fishsanity check flags out of the range of a uint8_t, causing the cast to overflow and not be stored correctly. With this change, it could still overflow when writing to the flag field of Location, but said field is unused and the parameter is really only for setting the flag for the SpoilerCollectionCheck. * Render uncaught overworld fish as randomized item * Fix windows build by zeroing unused field * Fix scene parameter type This resolves a build error on Mac and Windows, but Linux instead buries it in the sea of warnings, meaning I can't see it until it fails CI. --------- Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
the previous all loaches logic required modifying every `isLoach` check throughout the file. this had the benefit of allowing live-toggling all fish to be loaches or not, but added a lot of complexity. this changes the logic to just set `isLoach` on each fish instead, and updates the tooltip to note an area reload is required
…ourMasters#4366) * Update helpers removed * clean up some unused vars * remove now-misleading comment * remove redundent timer * address reviews * Address commits
* Format shops.cpp * Add 5, 6 & 7 item shopsanity * Guarantee a bombchu refill * Fish first shop item index * Clean up NonShopItems * Split count options * Improve item ordering Ensure potions, blue fire and fairy on shopsanity 6 and less. There are no hearts in the first 28 items (the ones from n64 rando). * Post-merge fixes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rewritten to use a proper area map, and account for future glitch logic. Includes some expansions to logic helper functions and the concurrency fix they just got merged into develop-rando